/**
 * @filename:CategoryService Category
 * @project constract  V1.0
 * Copyright(c) 2018 lin keqing Co. Ltd. 
 * All right reserved. 
 */
package com.znufe.exam.service;

import java.util.List;

import com.github.pagehelper.PageInfo;
import com.znufe.exam.domain.Category;
import com.znufe.exam.viewmodel.admin.category.AllCategoryInfoResponseVM;
import com.znufe.exam.viewmodel.admin.category.CategoryPageRequestVM;

/**
 *  
 * @Description:  类别信息表——SERVICE
 * @Author:       lin keqing   
 * @CreateDate:   Category
 * @Version:      V1.0
 *    
 */
public interface CategoryService extends BaseService<Category> {
	
	/**
	 * @explain 查询类别信息表对象
	 * @param   id
	 * @return  Category
	 * @author  lin keqing
	 */
	Category selectByPrimaryKey(Integer id);

	Category selectByConcreteName(String concreteName);

	/**
	 * @explain 删除类别信息表对象
	 * @param   id
	 * @return  int
	 * @author  lin keqing
	 */
	int deleteByPrimaryKey(Integer id);
	
	/**
	 * @explain 添加类别信息表对象
	 * @param   category
	 * @return  int
	 * @author  lin keqing
	 */
	int insertSelective(Category category);
	
	/**
	 * @explain 修改类别信息表对象
	 * @param   category
	 * @return  int
	 * @author  lin keqing
	 */
	int updateByPrimaryKeySelective(Category category);
	
	/**
	 * @explain 查询类别信息表集合
	 * @param   category
	 * @return  List<Category>
	 * @author  lin keqing
	 */
	List<Category> queryCategoryList(Category category);

	List<AllCategoryInfoResponseVM> queryAllCategoryInfoList(Integer categoryId);

	PageInfo<Category> categoryPage(CategoryPageRequestVM requestVM);

	List<Category> getAllType();

}